// ===========================================================
//   SD- (), SD-
// ===========================================================
//    SD-  SD-
//   PMod    := True;              //    
//   Balans  := Mera - Signal;     //    
//   SBalans := 0;                 //      
//   PNum    := 1;                 //     
//   NNum    := 0;                 //     
// -----------------------------------------------------------
//   SD- ()
// (--)
procedure SDMOD();
begin
   if Balans >= 0
   then begin
      //    
      //     
      Balans := Balans - (Mera + Signal);
      NNum := NNum + 1;
      PMod := False;
   end
   else begin
     //    
     //     
     Balans  := Balans + Mera - Signal;
     PNum := PNum + 1;
     PMod := True;
   end;
end;
//   SD-
// ( )
function SDDAC () : double;
begin
   //    
   if PNum + NNum > 0
   then Result := Mera * (PNum - NNum) /( PNum + NNum)
   else Result := 0;
   //    
   if RqLPF > 0
   then begin
      if PNum + NNum > 0
      then begin
        //    
        LPF1 := LPF1 + Result;
        Result := LPF1 /( PNum + NNum);
        if RqLPF > 1
        then begin
           //    
           LPF2 := LPF2 + Result;
           Result := LPF2 /( PNum + NNum);
        end;
      end;
   end;
end;
